﻿using HuiZe.education.Common;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;

namespace HuiZe.education.Model
{
    //登陆
    public class LoginModel : ModelBase
    {
        [JsonProperty(PropertyName = "account")]
        public string LoginName { get; set; } = "17637502443";//"15903613610";13877778888 kongjian 17637502443

        [JsonProperty(PropertyName = "password")]
        public string LoginPassWord { get; set; } = "654321";//123456

        [JsonProperty(PropertyName = "login_type")]
        public string type { get; set; } = "web";

    }

    //重置密码
    public class ResetpwdModel : ModelBase
    {
        public string mobile { get; set; }
        public string captcha { get; set; }
        public string newpassword { get; set; }
        public string type { get; set; }
    }
    public class ReqOtherLoginModel
    {
        public string platform { get; set; }
        public string code { get; set; }
    }

    public class ReqLoginUrl
    {
        public string token { get; set; }
        public int type { get; set; }
    }

    public class ReqOtherBinding
    {
        public string token { get; set; }
        public int type { get; set; }
    }

    public class ReqOtherLogin
    {
        public string code { get; set; }
        public string state { get; set; }
    }

    public class ResLoginUrl
    {
        public int code { get; set; }
        public string msg { get; set; }
        public string time { get; set; }
        public string data { get; set; }

    }
    public class ResLoginInfoMain
    {
        public int code { get; set; }
        public string msg { get; set; }
        public string time { get; set; }
        public ResLoginInfo data { get; set; }
    }
    public class ResLoginInfo
    {
        public int id { get; set; }
        public int group_id { get; set; }
        public string username { get; set; }
        public string nickname { get; set; }
        public string password { get; set; }
        public string salt { get; set; }
        public string email { get; set; }
        public string mobile { get; set; }
        public string avatar { get; set; }
        public string level { get; set; }

        public string gender { get; set; }
        public string birthday { get; set; }
        public string bio { get; set; }
        public string money { get; set; }

        public int score { get; set; }
        public int successions { get; set; }
        public int maxsuccessions { get; set; }
        public long prevtime { get; set; }
        public long logintime { get; set; }
        public string loginip { get; set; }
        public int loginfailure { get; set; }
        public string joinip { get; set; }

        public long jointime { get; set; }
        public long createtime { get; set; }
        public long updatetime { get; set; }
        public string token { get; set; }
        public string status { get; set; }

        public string subject { get; set; }
        public string subject_id { get; set; }
        public string grades_ids { get; set; }
        public int school_id { get; set; }
        public int file_rom { get; set; }
        public decimal use_rom { get; set; }
        public string endtime { get; set; }
        public string school_name { get; set; }
        public string wx { get; set; }
        public string qq { get; set; }
        public object subject_text { get; set; }
        public string url { get; set; }
        public object grade_text { get; set; }
        public string class_ids { get; set; }


        public ResLoginVerification verification { get; set; }
    }
    public class ResLoginVerification
    {

        public int email { get; set; }
        public int mobile { get; set; }


    }
    public class ResLoginGrade
    {

        public string name { get; set; }


    }

    public class ResLoginUrl2
    {
        public int code { get; set; }
        public string msg { get; set; }
        public string time { get; set; }
        public ResLoginDeatail data { get; set; }

    }
    public class ResLoginDeatail
    {
        public Userinfo userinfo { get; set; }
        public QQinfo thirdinfo { get; set; }
        public string msg { get; set; }

        public string data { get; set; }

    }
    public class ResLoginDeatail2
    {
        public int code { get; set; }

        public string msg { get; set; }

        public string time { get; set; }

        public int data { get; set; }

    }


    public class ReqLoginModel
    {
        public Userinfo userInfo { get; set; }
    }

    public class ReqLoginLogo
    {
        public int id { get; set; }
        public string image { get; set; }
        public string name { get; set; }
        public string contacts { get; set; }
        public string phone { get; set; }
        public int endtime { get; set; }
        public int num { get; set; }
        public string state { get; set; }
        public int createtime { get; set; }
        public int updatetime { get; set; }
        public int deletetime { get; set; }
        public string endtime_text { get; set; }
        public string state_text { get; set; }

    }
    public class RelieveModel
    {
        public string token { get; set; }
        public string type { get; set; }
        public string mobile { get; set; }
        public string captcha { get; set; }
    }

    public class BindModel
    {
        public int id { get; set; }
        public string mobile { get; set; }
        public string code { get; set; }
        public string type { get; set; }
        public string token { get; set; }
    }

    public class QQinfo
    {


        public string access_token { get; set; }
        public string refresh_token { get; set; }
        public string expires_in { get; set; }
        public string openid { get; set; }
        public QQUerInfo userinfo { get; set; }



    }
    public class QQUerInfo
    {


        public int ret { get; set; }
        public string msg { get; set; }
        public int is_lost { get; set; }
        public string nickname { get; set; }
        public string gender { get; set; }
        public int gender_type { get; set; }
        public string province { get; set; }
        public string city { get; set; }
        public string year { get; set; }
        public string constellation { get; set; }
        public string figureurl { get; set; }
        public string figureurl_1 { get; set; }
        public string figureurl_2 { get; set; }
        public string figureurl_qq_1 { get; set; }
        public string figureurl_qq_2 { get; set; }
        public string figureurl_qq { get; set; }
        public string figureurl_type { get; set; }
        public string is_yellow_vip { get; set; }

        public string vip { get; set; }
        public string yellow_vip_level { get; set; }
        public string level { get; set; }
        public string is_yellow_year_vip { get; set; }

        public string avatar { get; set; }
    }
    public class Userinfo
    {
        public int id { get; set; }
        public string logoUrl { get; set; }
        public string username { get; set; }

        public string nickname { get; set; }

        public string mobile { get; set; }

        public string avatar { get; set; }

        public int score { get; set; }

        public string token { get; set; }

        public int user_id { get; set; }

        [JsonConverter(typeof(UnixDateTimeConverter))]
        public DateTime createtime { get; set; }

        public int expiretime { get; set; }
        public string expiretime2 { get; set; }
        public string endtime { get; set; }
        public int expires_in { get; set; }
        public bool gender { get; set; }  //0:男
        public int subject { get; set; }
        public int grades_id { get; set; }
        public string qq { get; set; }
        public string wx { get; set; }
        public string school_name { get; set; }

        public int auth { get; set; }
        public string grades_ids { get; set; }
        public string subject_id { get; set; }
        public string class_ids { get; set; }
        public string userName { get; set; }
        public string userPwd { get; set; }

    }


    public class reqShareList
    {
        internal string keyword;

        public string token { get; set; }

        public int limit { get; set; }
        public int page { get; set; }
        public string search { get; set; }
        public int type { get; set; }
        public int user { get; set; }

    }



    public class resShareListMain : ModelBase
    {
        public int total { get; set; }
        public int per_page { get; set; }
        public int current_page { get; set; }
        public int last_page { get; set; }
        public List<resShareList> data { get; set; }

    }
    public class resShareList
    {
        public int id { get; set; }

        public int school_id { get; set; }
        public int user_id { get; set; }
        public int bclass_id { get; set; }
        public string title { get; set; }
        public string share_type { get; set; }
        public string zippath { get; set; }
        public string state { get; set; }
        public string image_cover { get; set; }
        public string description { get; set; }
        public long createtime { get; set; }
        public long updatetime { get; set; }
        public long deletetime { get; set; }
        public int number { get; set; }
        public string nickname { get; set; }
        public string createtime_text { get; set; }
        public int count_class { get; set; }
        //public List<resShareListDetail> class_list { get; set; }

    }

    public class resShareListDetail
    {
        public string use_name { get; set; }
    }
}
